package com.my.service;

import com.my.pojo.Business;

public interface IBusinessService {

    /**
     * 使用账号密码进行登录
     *
     * @param userName 用户输入的用户名
     * @param password 用户输入的密码
     * @return 在数据库中查询到的用户对象
     */
    Business loginByPassword(String userName, String password, String columnName);


    /**
     * 使用人脸信息进行登录
     *
     * @param MD5 用户在前端拍摄的人脸信息 转换的MD5的信息
     * @return 在数据库中查询到的用户对象
     */
    Business loginByFace(String MD5);

    /**
     * 用户使用手机号以及手机验证码进行登录
     *
     * @param phone 用户的手机号
     * @param code  用户输入的手机验证码
     * @return 在数据库中查询到的用户信息
     */
    Business loginByPhone(String phone, String code);


    /**
     * 使用邮箱进行登录
     *
     * @param email 用户的邮箱号
     * @param code  用户输入的邮箱验证码
     * @return 在数据库中查询到的用户
     */
    Business loginByEmail(String email, String code);


    /**
     * 发送手机验证码消息
     *
     * @param phone 需要被发送验证码的手机号
     */
    Integer sendPhoneMessage(String phone);

    /**
     * 发送邮箱验证码信息
     *
     * @param email 需要被发送邮箱验证码的邮箱
     */
    Integer sendEmailMessage(String email);


    /**
     * 注册用户信息
     *
     * @param business Controller中接收到的用户信息进行的封装
     * @return 返回注册状态
     */
    Integer register(Business business);

    Business findById(Integer id);
}
